/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.tvunetworks.service;

import com.tvunetworks.model.Category;
import com.tvunetworks.model.Item;
import com.tvunetworks.model.Product;
import java.util.List;

/**
 *
 * @author michael
 */
public interface CategoryManager extends GenericManager<Category, String> {

    /**
     * 
     * @return
     */
    List<Category> getCategoryList();

    /**
     * 
     * @param categoryId
     * @return
     */
    Category getCategory(String categoryId);

    /**
     * 
     * @param productId
     * @return
     */
    Product getProduct(String productId);

    /**
     * 
     * @param categoryId
     * @return
     */
    List<Product> getProductListByCategory(String categoryId);

    /**
     * 
     * @param keywords
     * @return
     */
    List<Product> searchProductList(String keywords);

    /**
     * 
     * @param productId
     * @return
     */
    List<Item> getItemListByProduct(String productId);

    /**
     * 
     * @param itemId
     * @return
     */
    Item getItem(String itemId);

    /**
     * 
     * @param itemId
     * @return
     */
    public boolean isItemInStock(String itemId);
}
